package io.zhifei.modules.sys.system.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import io.zhifei.common.utils.PageUtils;
import io.zhifei.modules.sys.system.entity.SysDictEntity;
import io.zhifei.modules.sys.system.form.SysDictParam;
import io.zhifei.modules.sys.system.form.SysDictResult;

import java.util.List;

/**
 * <p>
 * 字典表 服务类
 * </p>
 *
 * @author duke
 * @since 2020-11-09
 */
public interface SysDictService extends IService<SysDictEntity> {

    /**
     * 新增字典
     *
     * @param param
     */
    void addDict(SysDictParam param);

    /**
     * 修改字典
     *
     * @param param
     */
    void updateDict(SysDictParam param);


    /**
     * 获取字典详情
     *
     * @param param
     * @return
     */
    SysDictResult getDetail(SysDictParam param);

    /**
     * 获取分页列表
     *
     * @param page  分页参数
     * @param param 查询参数
     * @return
     */
    PageUtils getPageList(Page page, SysDictParam param);

    /**
     * 获取列表
     *
     * @param param 分页参数
     * @return
     */
    List<SysDictResult> getList(SysDictParam param);

    /**
     * 获取树状列表
     *
     * @param param 查询条件
     * @return
     */
    List<SysDictResult> getTreeList(SysDictParam param);
}
